#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
typedef int BOOL;

union val_t
{ 
    BOOL b_val;  //bool类型存储空间
    int i_val;   //整形值存储空间
    float f_val;  //浮点值存储空间
};
struct val_t2
{ 
    BOOL b_val;  //bool类型存储空间
    int i_val;   //整形值存储空间
    float f_val;  //浮点值存储空间
};
int main()
{
    union val_t a,b;
    struct val_t2 c,d;
     c.f_val=3.11;
    d=c;
    if(memcmp(&c, &d, sizeof(struct val_t2)) == 0){
        printf("c和d的值相等\n");
    }else{
        printf("c和d的值不相等\n");
    }

    a.f_val=3.11;
    b=a;
    if(memcmp(&a, &b, sizeof(union val_t)) == 0){
        printf("a和b的值相等\n");
    }else{
        printf("a和b的值不相等\n");
    }
    return 0;
}